﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Modulo.Seguridad.Base
{
    public partial class WFAPerfiles : TDV.Controles.Base.WinForm.BaseForm_Tipo01
    {
        public WFAPerfiles()
        {
            InitializeComponent();
        }
        private bool Guardo = false;
        private void TsbSalir_Click(object sender, EventArgs e)
        {
            if (Guardo == true)
            {
                DialogResult = DialogResult.OK;
            }
            else
            {
                DialogResult = DialogResult.Cancel;
            }
        }

        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            ControlError.SetError(TxtDescripcion, "");
            if (string.IsNullOrEmpty(TxtDescripcion.Text))
            {
                ControlError.SetError(TxtDescripcion, "Ingrese una Descripción");
                return;
            }
            //evento Grabar
            try
            {
                EBPerfil per = new EBPerfil();
                per.Descripcion = TxtDescripcion.Text;
                per.Grabar();
                Guardo = true;
                TxtDescripcion.Text = "";
                //Evento Cargar
                Cargar();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        protected void Cargar()
        {
            GrdPerfiles.DataSource = null;
            LBPerfil perfil = new LBPerfil();
            perfil.Buscar();
            if (perfil.Count > 0)
            {
                GrdPerfiles.DataSource = perfil;
                TsbEliminar.Enabled = true;
                BtnAceptar.Enabled = true;
            }
            else
            {
                TsbEliminar.Enabled = false;
                BtnAceptar.Enabled = false;
            }
            BarraEstado.Text = "Se encontraron (" + perfil.Count + ") registro(s)";

        }

        private void WFAPerfiles_Load(object sender, EventArgs e)
        {
            Cargar();
        }

        private void TxtDescripcion_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (TxtDescripcion.Text.Length > 0)
            {
                if (BtnAceptar.Enabled != true)
                {
                    BtnAceptar.Enabled = true;
                }
            }
            if (e.KeyChar == 13)
            {
                BtnAceptar_Click(sender, e);
            }
        }

        private void TsbEliminar_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Desea realmente eliminar el registro?", "Información", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                try
                {
                    EBPerfil perf = new EBPerfil();
                    perf.Codigo = GrdPerfiles.CurrentRow.Cells[0].Value.ToString();
                    perf.Eliminar();
                    Guardo = true;
                    Cargar();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }

        private void WFAPerfiles_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (Guardo == true)
            {
                DialogResult = DialogResult.OK;
            }
            else
            {
                DialogResult = DialogResult.Cancel;
            }
        }

        private void TsbModificar_Click(object sender, EventArgs e)
        {
            EBPerfil perfil = (EBPerfil)GrdPerfiles.CurrentRow.DataBoundItem;
            WFAPerfiles_Edit perf = new WFAPerfiles_Edit(perfil);
            if (perf.ShowDialog() == DialogResult.OK)
            {
                Guardo = true;
                Cargar();
            }
        }
    }
}
